﻿#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<string.h>




//int main()
//{
//	int m = 0;
//	m = 20;//m是可以修改的 
//	printf("%d\n", m);
//	const int n = 0;
//	//n = 20;//n是不能被修改的 
//	printf("%d\n", n);
//	return 0;
//}


//void test1()
//{
//	int n = 10;
//	int m = 20;
//	int* p = &n;
//	*p = 20;//ok?
//	p = &m; //ok?
//}
//void test2()
//{
//	//代码2 
//	int n = 10;
//	int m = 20;
//	const int* p = &n;
//	*p = 20;//ok?
//	p = &m; //ok?
//}
//void test3()
//{
//	int n = 10;
//	int m = 20;
//	int* const p = &n;
//	*p = 20; //ok?
//	p = &m; //ok?
//}
//void test4()
//{
//	int n = 10;
//	int m = 20;
//	int const* const p = &n;
//	*p = 20; //ok?
//	p = &m; //ok?
//}
//int main()
//{
//	//测试⽆const修饰的情况 
//	test1();
//	//测试const放在*的左边情况 
//	test2();
//	//测试const放在*的右边情况 
//	test3();
//	//测试*的左右两边都有const 
//	test4();
//	return 0;
//}



//指针+- 整数 
//int main()
//{
//	int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
//	int* p = &arr[0];
//	int i = 0;
//	int sz = sizeof(arr) / sizeof(arr[0]);
//	for (i = 0; i < sz; i++)
//	{
//		printf("%d ", *(p + i));//p+i 这⾥就是指针+整数 
//	}
//	return 0;
//}


//两个指针指向了同一块空间
//指针-指针的绝对值 = 两个指针之间的元素个数

//int main()
//{
//	int arr[10] = { 0 };
//	printf("%zd\n", &arr[9] - &arr[0]);
//	printf("%zd\n", &arr[0] - &arr[9]);
//	return 0;
//}

//strlen 求字符串的长度，统计的是字符串中\0之前的字符个数
//int my_strlen(char* s)
//{
//	char* p = s;
//	while (*p != '\0')
//		p++;
//	return p - s;
//}
//int main()
//{
//	printf("%d\n", my_strlen("abc"));
//	return 0;
//}

int main()
{
	int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
	int* p = &arr[0];
	int i = 0;
	int sz = sizeof(arr) / sizeof(arr[0]);
	while (p < arr + sz) //指针的⼤⼩⽐较 
	{
		printf("%d ", *p);
		p++;
	}
	return 0;
}




































































